/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.utx.spot.timesync;

import com.sun.spot.peripheral.IDriver;

/**
 * Interface to synchronized clock
 */
public interface ISyncClock extends IDriver {
	final int NULL_CLOCK = 0;
	final int SYSTEM_TIMER = 1;
	final int AT91_TC = 2;
    final int AT91_TC_CHAINED = 3;

    // time
    public long currentTimeMillis();
    public long currentTimeMicros();

    // adjustment
    public void setClockOffset(long offset);
    public void setClockRate(long rate);

    // get last SFD timestamp
    public long sfdTimestampRX();
    public long sfdTimestampTX();
	public boolean isSfdHigh();
}
